package com.zxl.designpattern.structure.bridge;

/**
 * @author zxl
 * @version 1.0
 * @description 桥接模式测试类。这是一个旅游出行的模拟场景
 * @date 2025/6/1 14:22
 */
public class Test {
    public static void main(String[] args) {
        // 商务旅行乘飞机
        TravelPlan businessTrip = new BusinessTravel(new Airplane(), "上海");
        businessTrip.execute();
        System.out.println("---------------------------------------------------------");
        // 休闲旅行坐火车
        TravelPlan leisureTrip = new LeisureTravel(new Train(), "杭州");
        leisureTrip.execute();
        // 如果扩展出行方式，比如自驾，游轮，可以继续实现Transport接口，组合方式又变多了
        // 如果扩展旅行方式，比如探险，荒野求生，可以继续实现TravelPlan接口，组合方式又变多了
        // 这就是桥接模式的作用，可以组合多种方式，扩展灵活。如果每种组合提供一个实现那太多了
    }
}    